Array.filter() 与 Array.find() 功能概述
filter()
对调用数组进行遍历,找出符合指点条件的所有元素,将查找结果存储于 新数组 并返回。如果没有符合条件的元素则返回空数组。
语法:
Array.filter(function(currentValue, index, arr), thisValue)
注意:对于 filter 结果,要先判断数组是否为空,否则
arr[index]
会致使报错find()
对调用数组进行遍历,找出 第一个 符合指点条件的元素并返回。如果没有符合条件的元素返回 undefined。
语法:
Array.find(function(currentValue, index, arr), thisValue)
注:这两个方法均不会改变原始数组,对空数组均不进行检测。
语法参数说明
function
必须,对数据每个元素执行该元素,
return true
则认为符合条件currentValue 必须,当前元素的值
index 可选,当前元素索引
arr 可选,当前元素属于的数组对象,即调用数组
thisValue
可选,用于定义 this 的值,默认为 undefined,暂时未实现其效果
应用示例
数组去重
1 | let arr = ['apple', 'strawberry', 'banana', 'pear', 'apple', 'orange', 'orange', 'strawberry']; |